package algorithms.paixu;

/**
 * @功能
 * @创建时间 2020/11/23
 * 从大往小排，右边永远最大
 */
public class Insertion {
    public static  boolean less(Comparable v,Comparable w){
        return v.compareTo(w)<0;
    }
    public static void exch(Comparable[] a,int i,int j){
        Comparable t=a[i];
        a[i]=a[j];
        a[j]=t;
    }
    private static void show(Comparable[] a){
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }
    public static boolean isSorted(Comparable[] a){
        for (int i = 0; i < a.length; i++) {
            if(less(a[i],a[i-1]))
                return false;

        }
        return true;
    }
    public static void sort(Comparable[] a){
        int N = a.length;
        for(int i =1 ;i<N ;i++){
            for (int j = i; j>0&& less(a[j],a[j-1]); j--) {
                exch(a,j,j-1);
            }
        }
    }
}
